<?php
session_start();

header('Content-Type:text/html;charset=utf-8');
// 检测PHP环境
if(version_compare(PHP_VERSION,'5.6.0','<'))  die('PHP'.PHP_VERSION.'版本过低，最少需要PHP5.6，请升级PHP版本！');

// 加载基础文件
require __DIR__ . '/base.php';

// 助手函数
require __DIR__ . '/helper.php';


// 数据库配置文件
require _APP_PATH_ . "/framework/db.php";

// 分页类
require _APP_PATH_ . "/library/page.class.php";

// app=cms&c=index&a=index

// 应用默认模块
if( isset( $_REQUEST['s'] ) && $_REQUEST['s']!=''  ){ 
	$s= explode( '/' ,  $_REQUEST['s'] ); 
    $app= $s[0];
}else{
    $app = _ADDONS_NAME_ == 'system' ? 'admin' : 'cms';
}
if(!is_dir( _APP_PATH_ . '/' . _ADDONS_NAME_ . '/' .$app )){
    exit( '未发现应用目录' ); 
}


// 应用 - 类控制器
if( isset( $s[1] ) && $s[1]!=''  ){ 
    $controller= str_replace('.','/', $s[1] );
}else{
    $controller = 'index';
}

if(!file_exists( _APP_PATH_ . '/' . _ADDONS_NAME_ . "/$app/controller/{$controller}.php")){
    exit( '未发现控制器文件' ); 
}


// 应用 - 类控制器 - 方法
if( isset( $s[2] ) && $s[2]!=''  ){ 
    $action= $s[2];
}else{
    $action = 'index';
}

// 模块后台验证是否登录
if( (_ADDONS_NAME_ != 'system' && stripos( $controller , 'admin/')!==false )
	|| (_ADDONS_NAME_ == 'system' && $app!='install' && $controller != 'index') ){
   require _APP_PATH_ . "/system/auth.inc.php";
}


////////////////////////////////////////////////
// 控制器文件
require _APP_PATH_ . '/' . _ADDONS_NAME_ . "/{$app}/controller/{$controller}.php";

$controller= str_replace('/','\\',$controller);
//反射
//$o= new \ReflectionClass( 'application\\'.$app.'\\controller\\'.$controller);
//$o->newInstanceArgs()->$action();
$class= _ADDONS_NAME_ . '\\'.$app.'\\controller\\'.$controller ;
$o = new $class();
$o->$action();

